package io.github.echarts.option.abstracts;



import java.io.Serializable;

/**
 * 所有配置选项的抽象基类。
 * 提供基础选项功能和序列化支持。
 */

public abstract class AbstractOption implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * 返回该选项的JSON属性名称。
     * 默认实现返回null，表示使用字段名作为属性名。
     * 子类可以重写此方法以提供自定义的属性名。
     *
     * @return JSON属性名称，如果为null则使用字段名
     */
    public String getPropertyName() {
        return null;
    }
    
    /**
     * 验证此选项的配置是否有效。
     * 子类应该重写此方法以添加特定的验证逻辑。
     *
     * @return 如果配置有效则为true，否则为false
     */
    public boolean validate() {
        return true;
    }
} 